import java.util.*;

public class Test4 extends Test{

    public static void main1(String[] args) {
        Scanner scan = new Scanner(System.in);

            int n = scan.nextInt();
            //这里因为分为n组，每组分3人，所以数组的总长度为3*n.
            List<Long> list =new ArrayList<>();
            for (int i = 0; i < 3*n; i++) {
                list.add(scan.nextLong());
            }
            //定义一个sum用来记录每组平均值总和的最大值。这里使用long类型的对象接收是因为，并不知道有多少个组，
            //也不知道输入的数据到底有多大，所以使用较大类型的变量来接收。
            long sum = 0;
            //排序属于Arrays的静态方法，可以通过类型直接调用，将数组m作为参数传给方法，进行排序
            Collections.sort(list);
            for (int i = 0; i < n; i++) {
                sum += list.get(list.size() - 2 * (i + 1));
            }
            //最后将计算的结果输出
            System.out.println(sum);

    }

    public static void main2(String[] args) {
        Scanner in =new Scanner(System.in);
        String a = in.nextLine();
        String b =in.nextLine();
        //1、创建HashMap,使用K-V模型
        HashMap<Character,Integer> hashMap = new HashMap<>();
        //2、先遍历第二个字符串
        for (int i = 0; i < b.length(); i++) {
            //判断当前遍历到的字符在HashMap中是否存在，判断依据就是这个字符在HashMap中的Value值
            //如果value等于0，则在HashMap中构建这个键（字符）和值（出现次数）
            //如果在HashMap中存在，则对这个字符对应的Value值加一
            if(hashMap.get(b.charAt(i))==null){
                hashMap.put(b.charAt(i),1);
            }else{
               hashMap.put(b.charAt(i), hashMap.get(b.charAt(i)+1));
            }
        }
        //定义一个变量用来接收第一个字符串中没有在HashMap中出现的字符
        String str = "";
        for (int i = 0; i < a.length(); i++) {
            //判断遍历到的第一个字符串中的字符是否在HashMap中已经存在，如果没有存在，则直接将这个字符传给str
            if(hashMap.get(b.charAt(i))==null){
                str += a.charAt(i);
            }
        }
        //最终打印str中拼接的字符串
        System.out.println(str);
    }
    //计算糖果
    public static void main3(String[] args) {
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        int d = scan.nextInt();
        int A = (a+c)/2;
        int B1 = (c-a)/2;
        int B2 = (b+d)/2;
        int C = (d-b)/2;
        if(B1 != B2){
            System.out.println("No");
        }else{
            System.out.println(A+" "+B1+" "+C);
        }
    }
    //进制转换
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int m = scan.nextInt();
        int n = scan.nextInt();
        String s = "0123456789ABCDEF";
        StringBuffer stringBuffer = new StringBuffer();
        boolean flag = false;//使用flag记录输入的m是不是一个负数
        //如果是负数，则先转为正数，然后将flag的值改为true
        if(m<0){
            m = -m;
            flag = true;
        }
        while(m!=0){
            stringBuffer.append(s.charAt(m%n));
             m=m/n;
        }
        //将进制转换完成之后，通过flag判断这个数为负数，给转换完的字符串拼接一个"-"号
        if(flag){
            stringBuffer.append("-");
        }
        //由于转换的时候，得到的数字与所需要的是相反的所以需要逆置
        stringBuffer.reverse();
        System.out.println(stringBuffer);
    }
}

